

#include <bits/stdc++.h>
using namespace std;

//C=A/B
vector<int> div(vector<int> &A,int b,int &r){
  vector<int> C;//商
  r=0;//余数
  for(int i=A.size()-1;i>=0;i--){
    r=r*10+A[i];
    C.push_back(r/b);
    r%=b;
  }
  //本来存放的是正确的，但是由于主函数中是倒序输出，所以这里要翻转
  //主函数中是倒序输出的原因：为了和其他三种运算保持统一
  reverse(C.begin(),C.end());

  while(C.size()>1&&C.back()==0) C.pop_back();
  return C;
}

int main() {  
  string a;//大数
  int b;//小数
  cin>>a>>b;

  vector<int> A;
  for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');

  int r;//余数
  auto C=div(A,b,r);
  for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);
  cout<<endl<<r<<endl;
  return 0;
}
